package cykbt.core;

/**
 * 
 * représente la concaténation de deux symboles non-terminaux
 */
public class Doublon {
	protected Symbol s2;
	protected Symbol s1;

	/**
	 * créer un doublon à partir de deux symbole
	 * 
	 * @param s1
	 * @param s2
	 */
	public Doublon(Symbol s1, Symbol s2) {
		this.s1 = s1;
		this.s2 = s2;
	}

	/**
	 * considère que deux symboles sont égaux si tout ces menbres sont égaux
	 */
	public boolean equals(Object object) {
		if (object == this) {
			return true;
		}
		if (object instanceof Doublon) {
			Doublon doublon = (Doublon) object;
			return (this.s1.equals(doublon.s1) && this.s2.equals(doublon.s2));
		}

		return false;

	}

	public String toString() {
		return " s1 :" + this.s1 + " s2 :" + this.s2;
	}
}